package lambda.jdkfunctioninterface.断言型;

import java.util.List;
import java.util.function.Predicate;

public class Predicate1 {

    /**
     * 泛型类型是参数的类型
     */
    Predicate<String> p = s -> s.equals("a");

    Predicate<List<Integer>> p2 = s -> s.contains(1);

    Predicate<Void> predicate = (Predicate<Void>) unused -> {

        System.out.println("hello");

        return false;
    };

    public static void main(String[] args) {
        Predicate1 predicate1 = new Predicate1();
        predicate1.t1();
    }


    /**
     * 返回类型Void和void是有区别的
     */
    public void t1() {
        // 返回类型是void时，不可返回null
//        return null;
        return;
    }

    public Void t2() {
        // 返回类型时Void时，必须返回null，不能什么也不返回
//        return ;
        return null;
    }

}
